Standalone analyzer for L+J channel trijet mass distr. #2
+611
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
렙톤+젯 채널을 위해 만든 TSelector기반의 독립적인 분석 코드.
최초 코드 작성 시작은 root콘솔에서 다음 명령어를 이용해 시작한다. 이렇게 하면 코드의 기본 템플릿을 LJAnalyzer.C와 LJAnalyzer.h로 만들어주고 이를 수정하면 된다.
chain->MakeSelector("LJAnalyzer")이 예제에서는 LJAnalyzer를 실행해 몇 가지 컨트롤 플랏들과 함께 single muon 이벤트를 선택했을 때 렙톤 반대 방향으로 날아가는 젯들을 이용해 W보존과 탑쿼크를 재구성 해 본다.
setup.sh를 source하면 CVMFS가 설치되어 있는 환경에서 기본 루트를 사용할 수 있게 되고, 그 다음으로
run.py를 이용하면 모듈을 컴파일 하고 예제 데이터 파일을 읽어 histogram루트 파일을 생성 한 뒤 데이터와 시뮬레이션 결과를 비교하는 그림을 그려준다.
analyzer코드는 TSelector에서 구현해야 하는 기능을 대부분 넣어서 multi-core환경에서 proof를 이용해 실행하는 것도 가능하며, 이렇게 하면 데이터의 양이 많을 때 분산 처리 한 후 결과를 자동으로 merge해 주도록 할 수 있다. (open data ntuple에서는 필요 없음. 테스트 해 보고 싶으면 주석 처리 된 부분을 해제하면 됨.)